home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -in_the_mag- / reader_requests / notes / english / violinkey.file < prev    next >
Text File  |  2000-02-23  |  33KB  |  1,159 lines

  1. /* subprogramm to notes.pprx */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8. call ppm_SetMagMode(180)
  9. call ppm_UpdateScreen()
  10.  
  11.  
  12. noteneingabe:
  13.     /* smallest note distance */
  14.  
  15.     xgrdform = "(1,2,4,8 oder 16)"
  16.     xgrd = ppm_GetForm("Pleace choice the smallest note distance...(nothing=BREAK)", 3, xgrdform)
  17.     if xgrd == '' then  exit_msg("user break !")
  18.     select
  19.      when xgrd == '1' then xg =0.7
  20.      when xgrd == '2' then xg =1.4
  21.      when xgrd == '4' then xg =2.8
  22.      when xgrd == '8' then xg =5.6
  23.      when xgrd == '16' then xg =11.2
  24.      otherwise noteneingabe()
  25.     end
  26.  
  27.    /* pointheighth of the notes */
  28.    notepkt = 26
  29.    call ppm_SetJustification(0)
  30.    
  31.    zz = 0   /* line counter */
  32.    notex = 2.5
  33.    page = ppm_CurrentPage()
  34.  
  35. pfad:
  36.    do
  37.            choose=ppm_Inform(2,"Please choice: notefile or break ...", "Break","File")
  38.            if choose == 0 then exit_msg("Break !")
  39.            eingabe = ppm_GetFileName("Please choice the notescriptfile ...", "Notes:")
  40.            res = OPEN(notenfile, eingabe, 'R')
  41.            if res == 0 then
  42.              do
  43.                  call ppm_inform(1,"There was an error, or the file doesn't exist !!!","OK")
  44.                  pfad()
  45.              end
  46.            call ppm_ShowStatus("OK, I'm working ...")
  47.            auslesen(notenfile)
  48.     end
  49.  
  50.     /* x-distance of the notes */
  51. auslesen:
  52.         do
  53.           parse arg file
  54.           noten = READCH(file, 4000)
  55.           i=1
  56.           do forever
  57.             nw = word(noten, i)
  58.             nn = word(noten, i+1)
  59.             al = word(noten, i+2)
  60.             if nw == 'P' then nw = 'p'    /*pause*/
  61.             if nw == 'D' then nw = 'd'    /*delete*/
  62.             if nw == 'C' then nw = 'c'    /*space*/
  63.             if nw == 'L' then nw = 'l'    /*barline*/
  64.             if nn == 'L' then nn = 'l'    /*barline*/
  65.             if nw == 'J' then nw = 'j'    /*jump*/
  66.             if al == 'N' then al = 'n'    /*natural sign*/
  67.             if nw == 'END' then nw = 'end'    /*end*/
  68.             call auswahl()
  69.             i=i+3
  70.           end
  71.         end
  72.  
  73. auswahl:
  74. do
  75.     select
  76.       when nw == 'j' then do
  77.                           zz = 0   /* linecounter */
  78.                           notex = 2.5
  79.                           return
  80.                           end
  81.       when nw == 'e' then
  82.         do
  83.             call ppm_ClearStatus()
  84.             exit_msg("Ready !")
  85.         end
  86.       when nw=='s' then
  87.           do
  88.           xw = xg/16
  89.           nw='x'
  90.           yv = 0
  91.           end
  92.       when nw=='S' then
  93.           do
  94.           xw = xg/16
  95.           nw='X'
  96.           yv = 0.47
  97.           end
  98.       when nw=='e' then
  99.           do
  100.           xw = xg/8
  101.           nw='e'
  102.           yv = 0
  103.           end
  104.       when nw=='E' then
  105.           do
  106.           xw = xg/8
  107.           nw='E'
  108.           yv = 0.47
  109.           end
  110.       when nw=='q' then
  111.           do
  112.           xw = xg/4
  113.           nw='q'
  114.           yv = 0
  115.           end
  116.       when nw=='Q' then
  117.           do
  118.           xw = xg/4
  119.           nw='Q'
  120.           yv = 0.47
  121.           end
  122.       when nw=='h' then
  123.           do
  124.           xw = xg/2
  125.           yv = 0
  126.           end
  127.       when nw=='H' then
  128.           do
  129.           xw = xg/2
  130.           yv = 0.47
  131.           end
  132.       when nw=='w' then
  133.           do
  134.           xw = xg
  135.           nw='w'
  136.           yv = 0
  137.           end
  138.       when nw=='W' then
  139.           do
  140.           xw = xg
  141.           nw='W'
  142.           yv = 0.47
  143.           end
  144.  
  145.  
  146.       when nw == 'pt' then
  147.           do
  148.             call ppm_SetSize(25)
  149.             box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26, 0.3, 0.9, 0)
  150.             call ppm_SetSize(20)
  151.             call ppm_TextIntoBox(box#id, 'd')
  152.            select
  153.                when nn == '1' then
  154.                do
  155.                xw = xg
  156.                notex = notex+xw
  157.                end
  158.                when nn == '2' then
  159.                do
  160.                xw = xg/2
  161.                notex = notex+xw
  162.                end
  163.                when nn == '4' then
  164.                do
  165.                xw = xg/4
  166.                notex = notex+xw
  167.                end
  168.                when nn == '8' then
  169.                do
  170.                xw = xg/8
  171.                notex = notex+xw
  172.                end
  173.                when nn == '16' then
  174.                do
  175.                xw  = xg/16
  176.                notex = notex+xw
  177.                end
  178.                when nn == 'l' then
  179.                do
  180.                xw  = 0.2
  181.                notex = notex+xw
  182.                end
  183.                when nn == '0' then do
  184.                end
  185.                otherwise
  186.                do
  187.                 call ppm_ClearStatus()
  188.                 exit_msg("There was an error !")
  189.                end
  190.            end
  191.            if notex >=18.7 then
  192.                do
  193.                  notex = 2.5
  194.                  zz = zz + 4
  195.                end
  196.            return
  197.           end
  198.  
  199.       when nw == 'PT' then
  200.           do
  201.             call ppm_SetSize(25)
  202.             box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.25-yv, 0.3, 0.9, 0)
  203.             call ppm_SetSize(20)
  204.             call ppm_TextIntoBox(box#id, 'd')
  205.            select
  206.                when nn == '1' then
  207.                do
  208.                xw = xg
  209.                notex = notex+xw
  210.                end
  211.                when nn == '2' then
  212.                do
  213.                xw = xg/2
  214.                notex = notex+xw
  215.                end
  216.                when nn == '4' then
  217.                do
  218.                xw = xg/4
  219.                notex = notex+xw
  220.                end
  221.                when nn == '8' then
  222.                do
  223.                xw = xg/8
  224.                notex = notex+xw
  225.                end
  226.                when nn == '16' then
  227.                do
  228.                xw  = xg/16
  229.                notex = notex+xw
  230.                end
  231.                when nn == 'l' then
  232.                do
  233.                xw  = 0.2
  234.                notex = notex+xw
  235.                end
  236.                when nn == '0' then
  237.                do
  238.                end
  239.                otherwise
  240.                do
  241.                 call ppm_ClearStatus()
  242.                 exit_msg("There was an error !")
  243.                end
  244.            end
  245.            if notex >=18.7 then
  246.                do
  247.                  notex = 2.5
  248.                  zz = zz + 4
  249.                end
  250.            return
  251.           end
  252.  
  253.       /* barline */
  254.       when nw == 'l' then
  255.           do
  256.            call ppm_SetLineWeight(0.25)
  257.            call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
  258.            notex = notex+0.2
  259.            return
  260.           end
  261.  
  262.      /* Pausen */
  263.       when nw == 'p' then
  264.         do
  265. pausenwert:
  266.            x = notex
  267.            select
  268.                when nn== '0' then do
  269.                                   end
  270.                when nn== '1' then do
  271.  
  272.                    y = 2.28+zz
  273.                    call ppm_SetLineWeight(4)
  274.                    call ppm_DrawLine(x, y, x+0.4, y)
  275.                    call ppm_SetLineWeight(0.25)
  276.                    xw = xg
  277.                    notex = notex+xw
  278.                end
  279.  
  280.                when nn== '2' then do
  281.  
  282.                    y = 2.32+zz
  283.                    call ppm_SetLineWeight(4)
  284.                    call ppm_DrawLine(x, y, x+0.4, y)
  285.                    call ppm_SetLineWeight(0.25)
  286.                    xw = xg/2
  287.                    notex = notex+xw
  288.                end
  289.  
  290.                when nn== '4' then do
  291.  
  292.                    y = 2.07+zz
  293.                    Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  294.                    boxnm = ppm_DocNextBox(Pbox)
  295.                    call ppm_DeleteContents(boxnm)
  296.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause)
  297.                    xw = xg/4
  298.                    notex = notex+xw
  299.                end
  300.  
  301.                when nn== '8' then do
  302.  
  303.                    y = 2.21+zz
  304.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  305.                    boxnm = ppm_DocNextBox(Pbox)
  306.                    call ppm_DeleteContents(boxnm)
  307.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause)
  308.                    xw = xg/8
  309.                    notex = notex+xw
  310.                end
  311.  
  312.                when nn== '16' then do
  313.  
  314.                    y = 2.21+zz
  315.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  316.                    boxnm = ppm_DocNextBox(Pbox)
  317.                    call ppm_DeleteContents(boxnm)
  318.                    call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause)
  319.                    xw = xg/16
  320.                    notex = notex+xw
  321.                end
  322.                otherwise
  323.                do
  324.                 call ppm_ClearStatus()
  325.                 exit_msg("There was an error !")
  326.                end
  327.            end
  328.            if notex >=18.7 then
  329.                do
  330.                  notex = 2.5
  331.                  zz = zz + 4
  332.                end
  333.           return
  334.         end
  335.  
  336.       when nw == 'l' then
  337.         do
  338.           select
  339.  
  340.            when nn== '1' then
  341.                do
  342.                xw = xg
  343.                notex = notex+xw
  344.                end
  345.            when nn== '2' then
  346.                do
  347.                xw = xg/2
  348.                notex = notex+xw
  349.                end
  350.            when nn== '4' then
  351.                do
  352.                xw = xg/4
  353.                notex = notex+xw
  354.                end
  355.            when nn== '8' then
  356.                do
  357.                xw = xg/8
  358.                notex = notex+xw
  359.                end
  360.            when nn== '16' then
  361.                do
  362.                xw = xg/16
  363.                notex = notex+xw
  364.                end
  365.            when nn == 'l' then
  366.                do
  367.                xw  = 0.2
  368.                notex = notex+xw
  369.                end
  370.            when nn == '0' then do
  371.                end
  372.            otherwise
  373.            do
  374.             call ppm_ClearStatus()
  375.             exit_msg("There was an error !")
  376.            end
  377.           end
  378.            if notex >=18.7 then
  379.                do
  380.                  notex = 2.5
  381.                  zz = zz + 4
  382.                end
  383.           return
  384.         end
  385.       otherwise
  386.       do
  387.        call ppm_ClearStatus()
  388.        exit_msg("There was an error !")
  389.       end
  390.     end
  391.  
  392.  
  393.         /* y-place of the notes - noteneck to top */
  394.  
  395.         call ppm_SetLineWeight(0.25)
  396.  
  397.       select
  398.         when nn=='c5'  then
  399.         do
  400.             yw = 0.945
  401.             if al == 'n' then call auflhoch()
  402.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  403.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  404.         end
  405.  
  406.         when nn=='b4'  then
  407.         do
  408.             yw = 1.045
  409.             if al == 'n' then call auflhoch()
  410.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  411.         end
  412.  
  413.         when nn=='bb4'  then
  414.         do
  415.             yw = 1.045
  416.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  417.         end
  418.  
  419.         when nn=='a#4' then
  420.         do
  421.             yw = 1.145
  422.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  423.             call ppm_SetSize(20)
  424.             call ppm_TextIntoBox(box#id, 's')
  425.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  426.         end
  427.  
  428.         when nn=='a4'  then
  429.         do
  430.             yw = 1.145
  431.             if al == 'n' then call auflhoch()
  432.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  433.         end
  434.  
  435.         when nn=='ab4' then
  436.         do
  437.             yw = 1.145
  438.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  439.             call ppm_SetSize(20)
  440.             call ppm_TextIntoBox(box#id, 'f')
  441.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  442.         end
  443.  
  444.         when nn=='g#4' then
  445.         do
  446.             yw = 1.245
  447.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  448.             call ppm_SetSize(20)
  449.             call ppm_TextIntoBox(box#id, 's')
  450.         end
  451.         when nn=='g4'  then
  452.         do
  453.             yw = 1.245
  454.             if al == 'n' then call auflhoch()
  455.         end
  456.         when nn=='gb4' then
  457.         do
  458.             yw = 1.245
  459.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  460.             call ppm_SetSize(20)
  461.             call ppm_TextIntoBox(box#id, 'f')
  462.         end
  463.         when nn=='f#4' then
  464.         do
  465.             yw = 1.345
  466.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  467.             call ppm_SetSize(20)
  468.             call ppm_TextIntoBox(box#id, 's')
  469.         end
  470.         when nn=='f4'  then
  471.         do
  472.             yw = 1.345
  473.             if al == 'n' then call auflhoch()
  474.         end
  475.         when nn=='e#4' then
  476.         do
  477.             yw = 1.445
  478.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  479.             call ppm_SetSize(20)
  480.             call ppm_TextIntoBox(box#id, 's')
  481.         end
  482.         when nn=='e4'  then
  483.         do
  484.             yw = 1.445
  485.             if al == 'n' then call auflhoch()
  486.         end
  487.         when nn=='eb4' then
  488.         do
  489.             yw = 1.445
  490.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  491.             call ppm_SetSize(20)
  492.             call ppm_TextIntoBox(box#id, 'f')
  493.         end
  494.         when nn=='d#4' then
  495.         do
  496.             yw = 1.545
  497.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  498.             call ppm_SetSize(20)
  499.             call ppm_TextIntoBox(box#id, 's')
  500.         end
  501.         when nn=='d4'  then
  502.         do
  503.             yw = 1.545
  504.             if al == 'n' then call auflhoch()
  505.         end
  506.         when nn=='db4' then
  507.         do
  508.             yw = 1.545
  509.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  510.             call ppm_SetSize(20)
  511.             call ppm_TextIntoBox(box#id, 'f')
  512.         end
  513.         when nn=='c#4' then
  514.         do
  515.             yw = 1.645
  516.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  517.             call ppm_SetSize(20)
  518.             call ppm_TextIntoBox(box#id, 's')
  519.         end
  520.         when nn=='c4'  then
  521.         do
  522.             yw = 1.645
  523.             if al == 'n' then call auflhoch()
  524.         end
  525.         when nn=='b3'  then
  526.         do
  527.             yw = 1.745
  528.             if al == 'n' then call auflhoch()
  529.         end
  530.         when nn=='bb3'  then
  531.         do
  532.             yw = 1.745
  533.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  534.             call ppm_SetSize(20)
  535.             call ppm_TextIntoBox(box#id, 'f')
  536.         end
  537.         when nn=='a#3' then
  538.         do
  539.             yw = 1.845
  540.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  541.             call ppm_SetSize(20)
  542.             call ppm_TextIntoBox(box#id, 's')
  543.         end
  544.         when nn=='a3'  then
  545.         do
  546.             yw = 1.845
  547.             if al == 'n' then call auflhoch()
  548.         end
  549.         when nn=='ab3' then
  550.         do
  551.             yw = 1.845
  552.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  553.             call ppm_SetSize(20)
  554.             call ppm_TextIntoBox(box#id, 'f')
  555.         end
  556.         when nn=='g#3' then
  557.         do
  558.             yw = 1.945
  559.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  560.             call ppm_SetSize(20)
  561.             call ppm_TextIntoBox(box#id, 's')
  562.         end
  563.         when nn=='g3'  then
  564.         do
  565.             yw = 1.945
  566.             if al == 'n' then call auflhoch()
  567.         end
  568.         when nn=='gb3' then
  569.         do
  570.             yw = 1.945
  571.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  572.             call ppm_SetSize(20)
  573.             call ppm_TextIntoBox(box#id, 'f')
  574.         end
  575.         when nn=='f#3' then
  576.         do
  577.             yw = 2.045
  578.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  579.             call ppm_SetSize(20)
  580.             call ppm_TextIntoBox(box#id, 's')
  581.         end
  582.         when nn=='f3'  then
  583.         do
  584.             yw = 2.045
  585.             if al == 'n' then call auflhoch()
  586.         end
  587.         when nn=='e#3' then
  588.         do
  589.             yw = 2.145
  590.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  591.             call ppm_SetSize(20)
  592.             call ppm_TextIntoBox(box#id, 's')
  593.         end
  594.         when nn=='e3'  then
  595.         do
  596.             yw = 2.145
  597.             if al == 'n' then call auflhoch()
  598.         end
  599.         when nn=='eb3' then
  600.         do
  601.             yw = 2.145
  602.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  603.             call ppm_SetSize(20)
  604.             call ppm_TextIntoBox(box#id, 'f')
  605.         end
  606.         when nn=='d#3' then
  607.         do
  608.             yw = 2.245
  609.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  610.             call ppm_SetSize(20)
  611.             call ppm_TextIntoBox(box#id, 's')
  612.         end
  613.         when nn=='d3'  then
  614.         do
  615.             yw = 2.245
  616.             if al == 'n' then call auflhoch()
  617.         end
  618.         when nn=='db3' then
  619.         do
  620.             yw = 2.245
  621.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  622.             call ppm_SetSize(20)
  623.             call ppm_TextIntoBox(box#id, 'f')
  624.         end
  625.  
  626.         when nn=='c#3' then
  627.         do
  628.             yw = 2.345
  629.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  630.             call ppm_SetSize(20)
  631.             call ppm_TextIntoBox(box#id, 's')
  632.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  633.         end
  634.  
  635.         when nn=='c3'  then
  636.         do
  637.             yw = 2.345
  638.             if al == 'n' then call auflhoch()
  639.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  640.         end
  641.  
  642.         when nn=='b2'  then
  643.         do
  644.             yw = 2.445
  645.             if al == 'n' then call auflhoch()
  646.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  647.         end
  648.  
  649.         when nn=='bb2'  then
  650.         do
  651.             yw = 2.445
  652.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  653.             call ppm_SetSize(20)
  654.             call ppm_TextIntoBox(box#id, 'f')
  655.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  656.         end
  657.  
  658.         when nn=='a#2' then
  659.         do
  660.             yw = 2.545
  661.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  662.             call ppm_SetSize(20)
  663.             call ppm_TextIntoBox(box#id, 's')
  664.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  665.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  666.         end
  667.  
  668.         when nn=='a2'  then
  669.         do
  670.             yw = 2.545
  671.             if al == 'n' then call auflhoch()
  672.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  673.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  674.         end
  675.  
  676.         when nn=='ab2'  then
  677.         do
  678.             yw = 2.545
  679.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  680.             call ppm_SetSize(20)
  681.             call ppm_TextIntoBox(box#id, 'f')
  682.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  683.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  684.         end
  685.  
  686.         when nn=='g#2'  then
  687.         do
  688.             yw = 2.645
  689.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  690.             call ppm_SetSize(20)
  691.             call ppm_TextIntoBox(box#id, 's')
  692.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  693.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  694.         end
  695.  
  696.         when nn=='g2'  then
  697.         do
  698.             yw = 2.645
  699.             if al == 'n' then call auflhoch()
  700.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  701.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  702.         end
  703.  
  704.  
  705.         when nn=='gb2'  then
  706.         do
  707.             yw = 2.645
  708.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  709.             call ppm_SetSize(20)
  710.             call ppm_TextIntoBox(box#id, 'f')
  711.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  712.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  713.         end
  714.  
  715.         when nn=='f#2'  then
  716.         do
  717.             yw = 2.745
  718.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  719.             call ppm_SetSize(20)
  720.             call ppm_TextIntoBox(box#id, 's')
  721.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  722.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  723.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  724.         end
  725.  
  726.         when nn=='f2'  then
  727.         do
  728.             yw = 2.745
  729.             if al == 'n' then call auflhoch()
  730.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  731.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  732.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  733.         end
  734.  
  735.         when nn=='e2'  then
  736.         do
  737.             yw = 2.845
  738.             if al == 'n' then call auflhoch()
  739.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  740.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  741.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  742.         end
  743.  
  744.  
  745.     /* y-Raster der Noten - Notenhälse nach unten */
  746.  
  747.         when nn=='C5'  then
  748.         do
  749.             yw = 1.42
  750.             if al == 'n' then call aufltief()
  751.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  752.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  753.         end
  754.  
  755.         when nn=='B4'  then
  756.         do
  757.             yw = 1.52
  758.             if al == 'n' then call aufltief()
  759.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  760.         end
  761.  
  762.         when nn=='Bb4'  then
  763.         do
  764.             yw = 1.52
  765.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  766.             call ppm_SetSize(20)
  767.             call ppm_TextIntoBox(box#id, 'f')
  768.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  769.         end
  770.  
  771.         when nn=='A#4' then
  772.         do
  773.             yw = 1.62
  774.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  775.             call ppm_SetSize(20)
  776.             call ppm_TextIntoBox(box#id, 's')
  777.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  778.         end
  779.  
  780.         when nn=='A4'  then
  781.         do
  782.             yw = 1.62
  783.             if al == 'n' then call aufltief()
  784.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  785.         end
  786.  
  787.         when nn=='Ab4' then
  788.         do
  789.             yw = 1.62
  790.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  791.             call ppm_SetSize(20)
  792.             call ppm_TextIntoBox(box#id, 'f')
  793.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  794.         end
  795.  
  796.         when nn=='G#4' then
  797.         do
  798.             yw = 1.72
  799.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  800.             call ppm_SetSize(20)
  801.             call ppm_TextIntoBox(box#id, 's')
  802.         end
  803.         when nn=='G4'  then
  804.         do
  805.             yw = 1.72
  806.             if al == 'n' then call aufltief()
  807.         end
  808.         when nn=='Gb4' then
  809.         do
  810.             yw = 1.72
  811.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  812.             call ppm_SetSize(20)
  813.             call ppm_TextIntoBox(box#id, 'f')
  814.         end
  815.         when nn=='F#4' then
  816.         do
  817.             yw = 1.82
  818.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  819.             call ppm_SetSize(20)
  820.             call ppm_TextIntoBox(box#id, 's')
  821.         end
  822.         when nn=='F4'  then
  823.         do
  824.             yw = 1.82
  825.             if al == 'n' then call aufltief()
  826.         end
  827.         when nn=='E#4' then
  828.         do
  829.             yw = 1.92
  830.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  831.             call ppm_SetSize(20)
  832.             call ppm_TextIntoBox(box#id, 's')
  833.         end
  834.         when nn=='E4'  then
  835.         do
  836.             yw = 1.92
  837.             if al == 'n' then call aufltief()
  838.         end
  839.         when nn=='Eb4' then
  840.         do
  841.             yw = 1.92
  842.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  843.             call ppm_SetSize(20)
  844.             call ppm_TextIntoBox(box#id, 'f')
  845.         end
  846.         when nn=='D#4' then
  847.         do
  848.             yw = 2.02
  849.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  850.             call ppm_SetSize(20)
  851.             call ppm_TextIntoBox(box#id, 's')
  852.         end
  853.         when nn=='D4'  then
  854.         do
  855.             yw = 2.02
  856.             if al == 'n' then call aufltief()
  857.         end
  858.         when nn=='Db4' then
  859.         do
  860.             yw = 2.02
  861.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  862.             call ppm_SetSize(20)
  863.             call ppm_TextIntoBox(box#id, 'f')
  864.         end
  865.         when nn=='C#4' then
  866.         do
  867.             yw = 2.12
  868.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  869.             call ppm_SetSize(20)
  870.             call ppm_TextIntoBox(box#id, 's')
  871.         end
  872.         when nn=='C4'  then
  873.         do
  874.             yw = 2.12
  875.             if al == 'n' then call aufltief()
  876.         end
  877.         when nn=='B3'  then
  878.         do
  879.             yw = 2.22
  880.             if al == 'n' then call aufltief()
  881.         end
  882.         when nn=='Bb3'  then
  883.         do
  884.             yw = 2.22
  885.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  886.             call ppm_SetSize(20)
  887.             call ppm_TextIntoBox(box#id, 'f')
  888.         end
  889.         when nn=='A#3' then
  890.         do
  891.             yw = 2.32
  892.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  893.             call ppm_SetSize(20)
  894.             call ppm_TextIntoBox(box#id, 's')
  895.         end
  896.         when nn=='A3'  then
  897.         do
  898.             yw = 2.32
  899.             if al == 'n' then call aufltief()
  900.         end
  901.         when nn=='Ab3' then
  902.         do
  903.             yw = 2.32
  904.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  905.             call ppm_SetSize(20)
  906.             call ppm_TextIntoBox(box#id, 'f')
  907.         end
  908.         when nn=='G#3' then
  909.         do
  910.             yw = 2.42
  911.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  912.             call ppm_SetSize(20)
  913.             call ppm_TextIntoBox(box#id, 's')
  914.         end
  915.         when nn=='G3'  then
  916.         do
  917.             yw = 2.42
  918.             if al == 'n' then call aufltief()
  919.         end
  920.         when nn=='Gb3' then
  921.         do
  922.             yw = 2.42
  923.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  924.             call ppm_SetSize(20)
  925.             call ppm_TextIntoBox(box#id, 'f')
  926.         end
  927.         when nn=='F#3' then
  928.         do
  929.             yw = 2.52
  930.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  931.             call ppm_SetSize(20)
  932.             call ppm_TextIntoBox(box#id, 's')
  933.         end
  934.         when nn=='F3'  then
  935.         do
  936.             yw = 2.52
  937.             if al == 'n' then call aufltief()
  938.         end
  939.         when nn=='E#3' then
  940.         do
  941.             yw = 2.62
  942.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  943.             call ppm_SetSize(20)
  944.             call ppm_TextIntoBox(box#id, 's')
  945.         end
  946.         when nn=='E3'  then
  947.         do
  948.             yw = 2.62
  949.             if al == 'n' then call aufltief()
  950.         end
  951.         when nn=='Eb3' then
  952.         do
  953.             yw = 2.62
  954.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  955.             call ppm_SetSize(20)
  956.             call ppm_TextIntoBox(box#id, 'f')
  957.         end
  958.         when nn=='D#3' then
  959.         do
  960.             yw = 2.72
  961.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  962.             call ppm_SetSize(20)
  963.             call ppm_TextIntoBox(box#id, 's')
  964.         end
  965.         when nn=='D3'  then
  966.         do
  967.             yw = 2.72
  968.             if al == 'n' then call aufltief()
  969.         end
  970.         when nn=='Db3' then
  971.         do
  972.             yw = 2.72
  973.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  974.             call ppm_SetSize(20)
  975.             call ppm_TextIntoBox(box#id, 'f')
  976.         end
  977.  
  978.         when nn=='C#3' then
  979.         do
  980.             yw = 2.82
  981.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  982.             call ppm_SetSize(20)
  983.             call ppm_TextIntoBox(box#id, 's')
  984.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  985.         end
  986.  
  987.         when nn=='C3'  then
  988.         do
  989.             yw = 2.82
  990.             if al == 'n' then call aufltief()
  991.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  992.         end
  993.  
  994.         when nn=='B2'  then
  995.         do
  996.             yw = 2.92
  997.             if al == 'n' then call aufltief()
  998.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  999.         end
  1000.  
  1001.         when nn=='Bb2'  then
  1002.         do
  1003.             yw = 2.92
  1004.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1005.             call ppm_SetSize(20)
  1006.             call ppm_TextIntoBox(box#id, 'f')
  1007.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1008.         end
  1009.  
  1010.         when nn=='A#2' then
  1011.         do
  1012.             yw = 3.02
  1013.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1014.             call ppm_SetSize(20)
  1015.             call ppm_TextIntoBox(box#id, 's')
  1016.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1017.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1018.         end
  1019.  
  1020.         when nn=='A2'  then
  1021.         do
  1022.           yw = 3.02
  1023.             if al == 'n' then call aufltief()
  1024.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1025.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1026.         end
  1027.  
  1028.         when nn=='Ab2'  then
  1029.         do
  1030.           yw = 3.02
  1031.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1032.           call ppm_SetSize(20)
  1033.           call ppm_TextIntoBox(box#id, 'f')
  1034.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1035.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1036.         end
  1037.  
  1038.         when nn=='G#2'  then
  1039.         do
  1040.             yw = 3.12
  1041.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1042.             call ppm_SetSize(20)
  1043.             call ppm_TextIntoBox(box#id, 's')
  1044.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1045.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1046.         end
  1047.  
  1048.         when nn=='G2'  then
  1049.         do
  1050.           yw = 3.12
  1051.             if al == 'n' then call aufltief()
  1052.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1053.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1054.         end
  1055.  
  1056.         when nn=='Gb2'  then
  1057.         do
  1058.           yw = 3.12
  1059.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1060.           call ppm_SetSize(20)
  1061.           call ppm_TextIntoBox(box#id, 'f')
  1062.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1063.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1064.         end
  1065.  
  1066.         when nn=='F#2'  then
  1067.         do
  1068.           yw = 3.22
  1069.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1070.           call ppm_SetSize(20)
  1071.           call ppm_TextIntoBox(box#id, 's')
  1072.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1073.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1074.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1075.         end
  1076.  
  1077.         when nn=='F2'  then
  1078.         do
  1079.           yw = 3.22
  1080.             if al == 'n' then call aufltief()
  1081.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1082.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1083.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1084.         end
  1085.  
  1086.         when nn=='E2'  then
  1087.         do
  1088.           yw = 3.32
  1089.             if al == 'n' then call aufltief()
  1090.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1091.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1092.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1093.         end
  1094.         otherwise
  1095.         do
  1096.          ppm_ClearStatus()
  1097.          exit_msg("There was an error !")
  1098.         end
  1099.       end
  1100.  
  1101.  
  1102.         /* measure of a notenbox */
  1103.           notewidht = 0.64
  1104.           noteheight = 0.97
  1105.  
  1106.  
  1107.           boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1108.           call ppm_SetSize(notepkt)
  1109.           call ppm_TextIntoBox(boxid, nw)
  1110.           notex = (notex + xw)
  1111.           if notex >=18.7 then
  1112.               do
  1113.                 notex = 2.5
  1114.                 zz = zz + 4
  1115.               end
  1116.     return
  1117. end
  1118. exit
  1119.  
  1120. auflhoch:
  1121. do
  1122.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1123.   boxnm = ppm_DocNextBox(Pbox)
  1124.   call ppm_DeleteContents(boxnm)
  1125.   call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
  1126.   return
  1127. end
  1128.  
  1129. aufltief:
  1130. do
  1131.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1132.   boxnm = ppm_DocNextBox(Pbox)
  1133.   call ppm_DeleteContents(boxnm)
  1134.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/naturalsng', Zeichen)
  1135.   return
  1136. end
  1137.  
  1138. break_d:
  1139. break_e:
  1140. break_c:
  1141. halt:
  1142.     call exit_msg("User aborted Genie!")
  1143.  
  1144.  
  1145. exit_msg: procedure
  1146. do
  1147.     parse arg message
  1148.  
  1149.     if message ~= '' then
  1150.     call ppm_Inform(1,message,)
  1151.  
  1152.     call ppm_ClearStatus()
  1153.     call ppm_AutoUpdate(1)
  1154.     exit
  1155. end
  1156.  
  1157.  
  1158.